The present invention relates to a computer system including a storage device such as a hard disk drive (HDD), and to a computer apparatus, a data protection method for the storage device, and a program. More specifically, the present invention relates to a computer system including a storage device having a user area operating in a predetermined user environment and an area hidden from a user, and to a computer apparatus, a data protection method for the storage device, and a program.
Conventionally, in a hard disk drive (HDD) which supports a specification of AT Attachment (ATA)/Advanced Technology Attachment Packet Interface (ATAPI)-5, which is a standard in the industry, it is possible to generate an area hidden from a user, that is, an area that cannot be freely accessed by the user, by use of a function of the hard disk and an architecture of Protected Area Run Time Interface Extension Services (PARTIES), which is a standard of the American National Standards Institute (ANSI).
FIG. 7 is a diagram for explaining the function of the PARTIES in the HDD, showing an image in which an area of the HDD is laterally cut into sections. Here, a value of “Max” that is a virtual maximum area is defined. In a normal command, an area to this “Max” is given, and an operating system (OS) uses an area from “Start” to “Max.” An area from the value of this “Max” to “Native Max,” which is a true maximum area, is a PARTIES partition. In “Boot Engineering Extension Record” of which the standard is determined/defined in this PARTIES partition, information contained in the PARTIES partition is stored. By referring to the above-described “Record,” a variety of functions for the PARTIES partition can be used.
As usage assumed for the PARTIES specification, there is a service, in which an A drive usually assigned when a computer is booted from a removable medium such as a floppy disk is also assigned when the computer is booted from the PARTIES partition, and the PARTIES partition is accessed, for example, by using a basic input/output system (BIOS) call for the removable medium, which is called Interrupt 40 of the BIOS. Specifically, a system is configured such that the A drive is seen and a user partition that is a normal area is seen as a C drive when the computer is booted from the PARTIES partition. In such a way, a preload image of the OS can be previously stored in an area of PARTIES, thus enabling a recovery therefrom. Moreover, information required for setting of hardware, setting of a password, description of a boot sequence, and the like, which are BIOS setups, is stored in the above-described area in place of a ROM, thus enabling, for example, setup work by a user, which uses a graphical user interface. Moreover, it is also assumed, as the PARTIES specification, that a boot (activation) program is previously stored in the area, and the system is diagnosed therefrom.
In addition, though not being directly associated with the invention of this application, as a conventional technology of data protection for the hard disk, there is a technology of processing an inputted pass phrase by a hash function to protect data in the HDD (for example, refer to Patent Document 1).
(Patent Document 1)
Japanese Patent Laid-Open No. 2001-306266 (p. 3, FIG. 1)
By use of such ATA/ATAPI-5 and ANSI PARTIES as described above, it is possible to write-protect a PARTIES partition desired to be write-protected and to put limitations on a change of the data by an application introduced into the PARTIES partition. However, in the case of executing the application on the PARTIES partition, it is difficult to put limitations on read and write of the application only by current technologies because the application itself is present in the PARTIES partition.
Here, in order to authenticate a system vendor (owner who has generated and written the application), the contents of the application on the PARTIES partition are validated by use of a private key in the BIOS, such as the hash function. Accordingly, when the contents of the application are changed, namely, when the application on the PARTIES partition is executed and the write is performed thereon, the application is regarded as an incorrect application that is not validated, which causes an error at the time of activating the application. The HDD does not have a function to write-protect only a certain area, and in the case of developing the partition for PARTIES, it is necessary to realize a write protection with much concern for the write limitations.